The use of non-volatile memory systems that maintain data integrity when a power supply is removed are expanding rapidly in integrated circuit technology. A class of non-volatile memory systems having memory cells which has a source, a drain, a channel, a floating gate over the channel and a control gate are widely used. Two popular types of non-volatile memory designs in this class is the electronically erasable and programmable read only memories (EEPROM) and the FLASH erasable-programmable read only memory (EPROM). The FLASH EPROM or flash memory system allows the simultaneous erasure of multiple memory cells.
The floating gate of the memory cell stores data and the control gate of the memory cell controls the floating gate. The floating gates are generally formed from polysilicon members completely surrounded by an insulator. A memory cell is programmed when a charge is stored on the floating gate. Moreover, a memory cell is unprogrammed, or erased, when the charge is removed from the floating gate.
One method of programming a memory cell is accomplished by applying a potential (e.g., 4-7 V) to its drain and a potential (e.g., 10-15 V) to its control gate programs. This causes electrons to be transferred from the source to the floating gate of the memory cell. One method of erasing a memory cell is accomplished by applying a positive potential (e.g., 10-15 V) to its source while grounding the control gate and letting the drain float. This action removes electrons from the floating gate.
A problem that may be encountered in erasing a memory cell is over-erasure. This occurs when too many electrons are removed from the floating gate during an erase operation. A memory cell whose floating gate has too many electrons removed is called an over-erased cell. An over-erased cell has a slight positive charge that biases the memory cell thereby causing a small current leak. This current leak can cause a false reading. Moreover, during the read mode, an over-erased memory cell may disable a whole column of memory cells in a memory array. Therefore, it is important to locate over-erased cells and correct them. One method of correcting an over-erased cell is accomplished by applying a soft program that applies a predetermined voltage pulse to the control gate of the cell while the bit line is biased. This action eliminates the slight positive charge on the floating gate.
Another problem that may be encountered is under-erased memory cells. Under-erased memory cells occur when not enough electrons are removed from the floating gate during an erase procedure. An under-erased memory cell is corrected by performing another erase procedure.
Currently two separate steps are taken to determine if a memory cell is over-erased or under-erased. First the memory cells are individually checked to determine if they are all erased. Once that step is completed, the memory cells are then checked to see if any cells have been over-erased by checking bit line leakage current. The completion of both steps takes a significant amount of time.
For the reasons stated above, and for other reasons stated below which will become apparent to those skilled in the art upon reading and understanding the present specification, there is a need in the art for a system to determine over-erased and under erased cells using less processing time.